package com.lct.arraylist;

import java.util.ArrayList;
import java.util.Scanner;

// 菜品操作类
public class FoodOperator {
    //1.准备一个容器，存储上架的所有菜品
    private ArrayList<Food> allFoods = new ArrayList<>();
    private Scanner sc = new Scanner(System.in);

    public void start() {
        while (true) {
            System.out.println("===商家管理系统===");
            System.out.println("1、上架菜品");
            System.out.println("2、下架菜品");
            System.out.println("3、展示菜品");
            System.out.println("请输入您的操作代码");
            int command = sc.nextInt();

            switch(command){
                case 1:
                    //上架  独立功能，独立方法
                    addFood();
                    break;
                case 2:
                    //下架
                    removeFood();
                    break;
                case 3:
                    //展示
                    showAllFood();
                    break;
                default:
                    System.out.println("输入错误！");
            }
        }
    }


    private void addFood() {
        System.out.println("========上架菜品========");
        //a.用户每上架一个菜品实际上就是在集合中新增一个菜品对象
        Food f = new Food();
        //b.为菜品注入菜品的数据
        System.out.println("菜品名称：");
        String name = sc.next();
        f.setName(name);

        System.out.println("菜品价格：");
        double price = sc.nextDouble();
        f.setPrice(price);

        System.out.println("描述：");
        String desc = sc.next();
        f.setDesc(desc);
        //c.把菜品对象添加到集合容器中
        allFoods.add(f);
        System.out.println("菜品上架成功！");
    }


    private void removeFood() {
        System.out.println("========下架菜品========");
        System.out.println("请输入您要下架的菜品名称");
        String inputname = sc.next();

        // 遍历所有菜品，查找匹配的菜品名称
        for (int i = 0; i < allFoods.size(); i++) {
            String name = allFoods.get(i).getName();
            // 如果找到匹配的菜品名称，则删除该菜品
            if (name.contains(inputname)) {
                allFoods.remove(i);
                System.out.println("菜品下架成功！");
                return; // 下架成功后直接返回，避免继续循环
            }
        }
        // 如果循环结束都没找到匹配的菜品
        System.out.println("未找到该菜品，下架失败！");
    }

    private void showAllFood() {
        System.out.println("========展示菜品========");
        for (int i = 0; i < allFoods.size(); i++) {
            Food food = allFoods.get(i);
            System.out.println(food.getName() + "\t" + food.getPrice() + "\t" + food.getDesc());
        }
    }

}
